import request from '@/config/axios'

/** ERP 生产计划物料信息 */
export interface ProduceMaterial {
    id: number; // 编号
    planNo: string; // 生产计划单编号
    planId: number; // 生产计划单id
    materialId: number; // 物料编号
    materialName: string; // 物料名称
    materialUnitId: number; // 物料单位
    count: number; // 数量
    pullCount: number; // 领料数量
    backCount: number; // 退料数量
    useCount: number; // 用料数量
    checkCount: number; // 验收数量
    unitPrice: number; // 单价
    allPrice: number; // 费用
    remark: string; // 备注
}

// ERP 生产计划物料 API
export const ProduceMaterialApi = {
    // 查询ERP 生产计划物料分页
    getProduceMaterialPage: async (params: any) => {
        return await request.get({ url: `/erp/produce-material/page`, params })
    },

    // 查询ERP 生产计划物料详情
    getProduceMaterial: async (id: number) => {
        return await request.get({ url: `/erp/produce-material/get?id=` + id })
    },

    // 新增ERP 生产计划物料
    createProduceMaterial: async (data: ProduceMaterial) => {
        return await request.post({ url: `/erp/produce-material/create`, data })
    },

    // 修改ERP 生产计划物料
    updateProduceMaterial: async (data: ProduceMaterial) => {
        return await request.put({ url: `/erp/produce-material/update`, data })
    },

    // 删除ERP 生产计划物料
    deleteProduceMaterial: async (id: number) => {
        return await request.delete({ url: `/erp/produce-material/delete?id=` + id })
    },

    /** 批量删除ERP 生产计划物料 */
    deleteProduceMaterialList: async (ids: number[]) => {
        return await request.delete({ url: `/erp/produce-material/delete-list?ids=${ids.join(',')}` })
    },

    // 导出ERP 生产计划物料 Excel
    exportProduceMaterial: async (params) => {
        return await request.download({ url: `/erp/produce-material/export-excel`, params })
    }
}
